using System;
using Piece = System.Int32;
//---------------------------------------------------------------------------//
//																			 //
//			r  n  C  h  e  s  s  B  o  a  r  d  C  o  n  t  r  o  l			 //
//			=======================================================			 //
//						  (c) 2003 Chris R. Chapman							 //
//																			 //
//	Version:		1.0	Full												 //
//  Date:			May 2003												 //
//  Author:			Chris R. Chapman (chris@chapmanconsulting.ca)			 //
//  Description:	A chessboard GUI written in 100% .Net/C#, featuring		 //
//					a resizable board with adjustable colors and configurable//
//					images for pieces, as well as events for capturing player//
//					movement and illegal moves.								 //
//																			 //
//																			 //
// LICENSING:		Can be freely distributed and used as long as the		 //
//					following criteria are met:								 //
//																			 //
//					1) All copyright notices are kept intact;				 //
//					2) Product is not for commercial resale;				 //
//					3) Product is NOT used in conjunction with ANY GPLed or  //
//					   FSF software.  I cannot abide by their philosophies.  //
//					4) Credit for the control to me is made in some			 //
//					   conspicuous fashion, like an About box.				 //
//---------------------------------------------------------------------------//
namespace RNChessBoardCommonTypes
{
	/// <summary>
	/// Chesspiece definition constants for white-side pieces.  Black-side pieces correspond to the same values
	/// with the exception that they are negated (ie -1 through -6).
	/// </summary>
	public sealed class ChessPieceDefinition
	{
		public const Piece NONE = 0;
		public const Piece PAWN = 1;
		public const Piece KNIGHT = 2;
		public const Piece BISHOP = 3;
		public const Piece ROOK = 4;
		public const Piece QUEEN = 5;
		public const Piece KING = 6;
		
		/// <summary>
		/// Default starting position for chess pieces, oriented in traditional configuration
		/// with black pieces on top, white on bottom.
		/// </summary>
		public static Piece[] DefaultChessboardPosition = new Piece[64]
			{
				-ROOK,-KNIGHT,-BISHOP,-QUEEN,-KING,-BISHOP,-KNIGHT,-ROOK,
				-PAWN,-PAWN,-PAWN,-PAWN,-PAWN,-PAWN,-PAWN,-PAWN,
				NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,
				NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,
				NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,
				NONE,NONE,NONE,NONE,NONE,NONE,NONE,NONE,
				PAWN,PAWN,PAWN,PAWN,PAWN,PAWN,PAWN,PAWN,
				ROOK,KNIGHT,BISHOP,QUEEN,KING,BISHOP,KNIGHT,ROOK
			};
	}
}
